home *** CD-ROM | disk | FTP | other *** search
-
- ;====================================================================
- ; Einige Initialisierungen
- ;====================================================================
-
- (complete 0)
-
- ; Die Versionsnummer und das Erstellungs-Datum der hier installierten
- ; HotHelp-Version.
-
- (set hh-version "3")
- (set hh-version-intern "3.00")
- (set hh-date "(14 Feb 94)")
-
- ; HotHelp wird über eine ganze Reihe von Verzeichnissen verteilt, so daß sich
- ; kein einzelnes Default-Dir angeben läßt.
-
- (set @default-dest "")
-
- (set os-version (/ (getversion) 65536))
- (set os-13 (< os-version 36))
- (set os-20 (>= os-version 36))
- (set os-21 (>= os-version 38))
-
- ; Die Pfadnamen der einzelnen Quell-Dateien.
-
- (set source-lha "HotHelpInstall3_1:Tools/LhA")
- (set source-hotkeyhelp "HotHelpInstall3_1:C/HotKeyHelp")
- (set source-hothelppref "HotHelpInstall3_1:C/HotHelpPref")
- (set source-toolicons (if os-20 "HotHelpInstall3_1:Icons/T2.0/"
- "HotHelpInstall3_1:Icons/T1.3/"))
- (set source-toolicon-hkh (cat source-toolicons "HKH.info"))
- (set source-toolicon-hhpref (cat source-toolicons "HHPref.info"))
- (set source-toolicon-hhpro (cat source-toolicons "HHPro.info"))
- (set source-toolicon-easyhh (cat source-toolicons "HHEasy.info"))
- (set source-toolicon-hhmarker (cat source-toolicons "HHMark.info"))
- (set source-toolicon-hhcomp (cat source-toolicons "HHC.info"))
- (set source-toolicon-hhmanager (cat source-toolicons "HHMan.info"))
- (set source-toolicon-hh (cat source-toolicons "HH.info"))
- (set source-icons (if os-20 "HotHelpInstall3_1:Icons/Icons2.0"
- "HotHelpInstall3_1:Icons/Icons1.3"))
-
- (set source-txt-hothelp "HotHelpInstall3_1:Text/HotHelp.txt")
- (set source-txt-libs "HotHelpInstall3_2:Text/Libs 3.0.txt")
- (set source-txt-libsdevs "HotHelpInstall3_3:Text/Libs & Devs 3.0.txt")
- (set source-txt-ansic "HotHelpInstall3_3:Text/ANSI-C.txt")
- (set source-txt-arexx "HotHelpInstall3_3:Text/ARexx.txt")
- (set source-txt-devs "HotHelpInstall3_3:Text/Devs 3.0.txt")
- (set source-txt-glossar "HotHelpInstall3_3:Text/Glossar.txt")
- (set source-txt-iff "HotHelpInstall3_3:Text/IFF.txt")
- (set source-txt-shell "HotHelpInstall3_3:Text/Shell.txt")
-
- (set archive-hothelplib "HotHelpInstall3_1:Archive/HotHelpLib.lha")
- (set archive-fasthothelplib "HotHelpInstall3_1:Archive/FastHotHelpLib.lha")
- (set archive-hothelphandler "HotHelpInstall3_1:Archive/Handler.lha")
- (set archive-catalogs "HotHelpInstall3_1:Archive/Catalogs.lha")
- (set archive-tools "HotHelpInstall3_1:Archive/Tools.lha")
- (set archive-header "HotHelpInstall3_1:Archive/Header.lha")
-
- ; Die Größen der Text-Dateien.
-
- (set size-txt-ansic 75000)
- (set size-txt-arexx 85000)
- (set size-txt-devs 140000)
- (set size-txt-glossar 210000)
- (set size-txt-hothelp 125000)
- (set size-txt-hothelplib 55000)
- (set size-txt-hothelptools 360000)
- (set size-txt-iff 30000)
- (set size-txt-libsdevs 50000)
- (set size-txt-libs 845000)
- (set size-txt-shell 155000)
-
- ; Die Pfadnamen der Programme, die vom Installations-Skript aufgerufen werden.
-
- (set run-lhapatterns "HotHelpInstall3_1:Tools/LhaPatterns")
- (set run-flushprojects "HotHelpInstall3_1:Tools/FlushProjects")
- (set run-deleteproject "HotHelpInstall3_1:Tools/DeleteProject")
- (set run-lha "RAM:LhA -a")
- (set run-clearstartup "HotHelpInstall3_3:Tools/ClearStartup")
- (set run-setprojectpath "HotHelpInstall3_3:Tools/SetProjectPath")
-
- ; Der Name des HotHelp-Verzeichnis darf nicht länger als dieser Wert sein.
-
- (set max-project-dir 200)
-
- ; Default-Sprache für die verschiedenen Installations-Tools ist Deutsch.
-
- (set tools-language 0)
-
- ;=====================================================================================
- ; installtext
- ;
- ; Die Prozedur erwartet Parameter in den folgenden Variablen:
- ; §it-name - Name des Projektes, dessen Text-Datei kopiert wird
- ; §it-size - Größe der Text-Datei
- ; §it-source - Pfadname der zu kopierenden Textdatei
- ; §it-dest - Pfadname des Zielverzeichnisses
- ; Die folgenden Variablen werden von der Prozedur gesetzt:
- ; §it-dest - Name des Verzeichnisses, in dem die Datei tatsächlich installiert
- ; wurde. Kann sich vom Eingabewert unterscheiden, wenn aufgrund
- ; mangelnden Disk-Speichers ein anderer Datenträger gewählt wurde.
- ;=====================================================================================
- (procedure installtext
- (
- (if (and (> @user-level 0) (<= (getdiskspace §it-dest) §it-size))
- (
- (until (> (getdiskspace §it-dest) §it-size)
- (
- (message (cat "Auf dem gewählten Datenträger \"" §it-dest "\" ist nicht "
- "mehr genügend freier Speicherplatz vorhanden, um die Texte "
- "des " §it-name "-Projektes zu installieren (es sind nur noch "
- (/ (getdiskspace §it-dest) 1024) " KByte frei, während die "
- "Text-Datei " (/ §it-size 1024) " KByte benötigt).\n"
- "Dieser Fehler tritt üblicherweise bei Installation auf "
- "Disketten auf (falls Sie HotHelp auf eine Festplatte "
- "installieren und die Meldung sehen, sollten Sie die "
- "Installation abbrechen und erst ein wenig Platz auf Ihrer "
- "Platte schaffen).\n\n"
- "Sie müssen daher nun eine andere Disk angeben, auf die die "
- "Text-Datei kopiert werden soll.\n"))
- (set §it-dest
- (askdir
- (prompt "Auswahl der Disk für die Text-Datei des " §it-name "-Projektes (Dateigröße: " (/ §it-size 1024) " KByte)")
- (help (cat " Bei Installation auf Disketten müssen die Text-Dateien "
- "auf mehrere Disks verteilt werden, da sie sehr viel Platz "
- "benötigen. Sie müssen daher nun eine andere Disk auswählen, "
- "auf die die Text-Dateien kopiert werden sollen. Sie können "
- "auf der Disk auch Unterverzeichnisse anlegen.\n"
- " Bitte beachten Sie jedoch, daß alle Disketten "
- "eindeutig Namen tragen müssen (z.B. \"HotHelp1\", "
- "\"HotHelp2\", etc.). Keinesfalls dürfen zwei Disketten "
- "denselben Namen tragen!"
- "\n\n"
- @askdir-help))
- (default §it-dest)
- (newpath)
- )
- )
- (if (= (exists §it-dest) 0)
- (makedir §it-dest (infos) (safe))
- (set §it-dest (expandpath §it-dest))
- )
-
- ; Der Name darf nicht zu lang sein, sonst können wir ihn hinterher nicht in
- ; die Header-Dateien der Projekte eintragen.
- (if (>= (strlen §it-dest) max-project-dir)
- (abort (cat "\nDer eingegebene Name \n\"" §it-dest "\"\nist zu lang!\n\n"
- "Bitte geben Sie maximal " (- max-project-dir 1) " Zeichen ein!"))
- )
- )
- )
- )
- )
- (copyfiles
- (prompt (cat "Kopiere Projekt-Texte " §it-name))
- (source §it-source)
- (dest §it-dest)
- )
- )
- )
-
- ;=====================================================================================
- ; Beginn der Installation
- ;=====================================================================================
-
- ; Eine kleine Einleitungs-Message, gefolgt vom Startbildschirm des Installers.
-
- (set act-user-level @user-level)
- (user 1)
- (message (cat "Willkommen zum Installationsprogramm von \"HotHelp "
- hh-version "\"!\n\n"
- "Dieses Skript kopiert die verschiedenen Dateien, "
- "aus denen sich das HotHelp-System zusammensetzt, "
- "auf Ihre Festplatte.\n\n"
- "Falls Sie über keine Platte verfügen, werden statt dessen bis zu "
- "vier Leerdisketten benötigt (Hinweise zum Formatieren von Disketten "
- "entnehmen Sie bitte Ihrem Amiga-Benutzerhandbuch).\n"
- "Bitte beachten Sie, daß alle verwendeten Leerdisks unterschiedliche "
- "Namen haben müssen und daß keine den Namen \"HotHelp\" tragen "
- "darf!"))
- (user act-user-level)
- (welcome)
-
- (set partition "WORK:")
- (if (= @user-level 0)
- (
- (user 1)
- (message (cat "Im Einsteiger-Modus wird davon ausgegangen, daß HotHelp auf "
- "einer Festplatte installiert wird, auf der noch mindestens "
- "ca. 4 MByte freier Speicherplatz verfügbar sind. Sie müssen dazu im "
- "nächsten Fenster den Namen der gewünschten Festplatten-Partition "
- "angeben.\n\n"
- "Alle weiteren Angaben werden dann vom Installations-Skript "
- "möglichst genau an Ihr System angepaßt - insbesondere wird auch "
- "erkannt, wenn Sie schon eine alte HotHelp-Version installiert "
- "haben; diese wird dann komplett durch die neue Version ersetzt."))
-
- (set ok 0)
- (while (not ok)
- (set partition
- (askdir
- (prompt "Auswahl des Laufwerks für die HotHelp-Installation")
- (help (cat " Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
- "eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
- "dieser Übersicht sollten Sie nur die oberen, nicht farblich "
- "gekennzeichneten Einträge auswählen.\n"
- " Typische sinnvolle Namen sind z.B. \"WORK:\", \"HD0:\" oder \"DH0:\"; "
- "nicht verwenden sollten Sie Namen wie \"DF0:\", \"DF1:\", "
- "\"DF2:\", \"DF3:\", \"RAD:\", \"RAM:\", \"System2.0:\", "
- "\"WB_2.x:\", \"System3.0:\" oder \"WB_3.x:\"!"
- "\n\n"
- @askdir-help))
- (default partition)
- (disk)
- )
- )
-
- ; Ist der Dateiname leer oder endet nicht mit einem ':' oder existiert unter
- ; diesem Namen kein Verzeichnis, wird eine Fehlermeldung angezeigt; andernfalls
- ; kann die Auswahl-Schleife beendet werden.
- (if (or (or (<= (strlen partition) 0) (<> (substr partition (- (strlen partition) 1) 1) ":")) (<> (exists partition (noreq)) 2))
- (message (cat "\nBei Ihrer Auswahl \"" partition "\" handelt es sich nicht um "
- "eine gültige Laufwerks-Angabe!\n\n"
- "Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
- "eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
- "dieser Übersicht sollten Sie nur die oberen, nicht farblich "
- "gekennzeichneten Einträge auswählen.\n"
- "Typische sinnvolle Namen sind z.B. \"WORK:\", \"HD0:\" oder \"DH0:\"; "
- "nicht verwenden sollten Sie Namen wie \"DF0:\", \"DF1:\", "
- "\"DF2:\", \"DF3:\", \"RAD:\", \"RAM:\", \"System2.0:\", "
- "\"WB_2.x:\", \"System3.0:\" oder \"WB_3.x:\"!"))
- ;else
- (set ok 1)
- )
- )
- (user 0)
- )
- )
-
- ; Dieser kleine Trick ist notwendig, damit LHA unter 1.3 und 2.0 keinen Mist
- ; baut...
-
- (run run-lhapatterns)
-
- ; Falls HotHelp schon installiert ist, wird dies hier ermittelt. 'old-hh-version'
- ; kann anschließend die folgenden drei Werte beinhalten: -1 (noch nicht
- ; installiert), 0 (Version 2 war installiert) oder 1 (Version 3)
-
- (set old-hh-version -1)
- (if (<> (getassign "HOTHELP") "")
- (
- ; Nun werden sicherheitshalber alle evtl. schon geladenen Projekte wieder aus
- ; dem Speicher entfernt (diese geLock()ten Dateien lassen sich ja so
- ; wahnsinnig schlecht überschreiben...).
-
- (working "\nEntferne evtl. geladene Projekte aus dem Speicher...")
- (run (cat run-flushprojects " " tools-language))
-
- ; Wenn eine dieser typischen 3er-Dateien existiert, gehen wir davon aus, daß
- ; Version 3 installiert ist.
-
- (set old-hh-version
- (if (or (exists "L:HotHelpHandler")
- (exists "HOTHELP:HotHelpLib.English"))
- 1
- ;else
- 0)
- )
-
- ; Existiert ein Libs&Devs-1.3- oder -2.1-Projekt-Header, bieten wir die
- ; Möglichkeit an, diese Projekte zu löschen. Ebenso die alte Datei mit den
- ; Hilfstexten für den Manager.
-
- (if (exists "HOTHELP:Projekte/Libs & Devs 1.3.hdr")
- (if (askbool
- (prompt (cat "\nSie haben noch das alte Projekt 'Libs & Devs 1.3' "
- "installiert. Dieses wird komplett durch das neue "
- "'Libs & Devs 3.0'-Projekt ersetzt.\n"
- "Soll das alte Projekt gelöscht werden?"))
- (help (cat " Das mit der alten HotHelp-Version ausgelieferte "
- "Projekt 'Libs & Devs 1.3' enthält eine Dokumentation "
- "des Amiga-Betriebssystems bis Version 1.3.\n"
- " Da die neue Version von HotHelp das Projekt "
- "'Libs & Devs 3.0' beinhaltet, das alle "
- "Betriebssystem-Versionen bis 3.0 einschließlich "
- "dokumentiert, ist das alte 1.3-Projekt damit überflüssig "
- "und kann gelöscht werden."))
- (default 1))
- (
- (working "\nLösche das 1.3-Projekt...")
- (run (cat run-deleteproject " " tools-language))
- )
- )
- )
- (if (exists "HOTHELP:Projekte/Libs & Devs 2.1.hdr")
- (if (askbool
- (prompt (cat "\nSie haben noch das alte Projekt 'Libs & Devs 2.1' "
- "installiert. Dieses wird komplett durch das neue "
- "'Libs & Devs 3.0'-Projekt ersetzt.\n"
- "Soll das alte Projekt gelöscht werden?"))
- (help (cat " Das mit der alten HotHelp-Version ausgelieferte "
- "Projekt 'Libs & Devs 2.1' enthält eine Dokumentation "
- "des Amiga-Betriebssystems bis Version 2.1.\n"
- " Da die neue Version von HotHelp das Projekt "
- "'Libs & Devs 3.0' beinhaltet, das alle "
- "Betriebssystem-Versionen bis 3.0 einschließlich "
- "dokumentiert, ist das alte 2.1-Projekt damit überflüssig "
- "und kann gelöscht werden."))
- (default 1))
- (
- (working "\nLösche das 2.1-Projekt...")
- (run (cat run-deleteproject " " tools-language " X"))
- )
- )
- )
- (if (exists ("HOTHELP:HotHelpManager.Hlp"))
- (delete "HOTHELP:HotHelpManager.Hlp"
- (prompt (cat "\nLösche HOTHELP:HotHelpManager.Hlp"
- "\n\n"
- "Diese Datei enthält die Hilfstexte für den "
- "alten HotHelpManager. Da dieses Programm nicht "
- "mehr benötigt wird, kann auch diese Datei entfernt "
- "werden."))
- (help "")
- (confirm)
- )
- )
- )
- )
-
- (set libs-chosen
- (askoptions
- (prompt "Auswahl der Funktions-Bibliotheken")
- (help (cat " Als erstes müssen Sie festlegen, welche Funktions-Bibliotheken auf "
- "Ihrem System installiert werden sollen. Im Normalfall können Sie die "
- "vorgegebene Einstellung übernehmen und die Installation direkt "
- "fortsetzen.\n"
- " Hier noch einige Hintergrund-Informationen über die einzelnen "
- "Bibliotheken:\n"
- " HotHelp.Library - Diese Library stellt das Kernstück von "
- "HotHelp dar. Es handelt sich um eine Funktions-Bibliothek, in "
- "der alle Routinen zusammengefaßt sind, die zum Verwalten und "
- "Anzeigen der Hilfstexte benötigt werden - mit anderen Worten: "
- "ohne diese Bibliothek geht überhaupt nichts!\n\n"
- " LH.Library - Die Lh-Library enthält leistungsfähige Funktionen "
- "zum Komprimieren und Dekomprimieren von Daten. Da alle Hilfstexte, "
- "die mit dieser HotHelp-Version zusammen ausgeliefert werden, "
- "mit Hilfe dieser Library gepackt wurden (andernfalls wären die "
- "Dateien mehr als doppelt so groß!), muß auch diese Library "
- "installiert werden - andernfalls können die Texte bei der "
- "Ausgabe nicht mehr entschlüsselt werden! Sie sollten nur in dem "
- "Fall auf das Kopieren der Library verzichten, wenn Sie schon über "
- "eine neuere Version verfügen.\n\n"
- " RCT.Library - Unter OS 1.3 wird diese Bibliothek verwendet, "
- "um einen FileRequester anzubieten. Sie können allerdings auf das "
- "Kopieren verzichten, wenn Sie schon über die ReqTools- oder "
- "die Arp-Library verfügen - HotHelp greift dann auf deren "
- "File-Requester zurück."
- "\n\n"
- @askoptions-help))
- (choices
- "HotHelp.Library"
- "LH.Library"
- "RCT.Library"
- )
- (default (if os-20 3 7) )
- )
- )
-
- ; Nun wird der User gefragt, ob er die normale oder die FastFont-Version
- ; der Library installieren möchte. 'install-fastfont' enthält anschließend
- ; 0 für die normale oder 1 für die FastFont-Library.
-
- (set install-fastfont 0)
- (if (in libs-chosen 0)
- (set install-fastfont
- (askchoice
- (prompt "Art der Textanzeige")
- (help (cat " Bitte legen Sie hier fest, ob die HotHelp-Library die normalen "
- "Textausgabe-Routinen des Betriebssystems verwenden soll oder "
- "ob die schnelleren internen Funktionen von HotHelp verwendet "
- "werden sollen. Bei Verwendung der normalen Ausgabe-Funktionen "
- "ist die Library ca. 6 kByte kleiner - dafür ist die "
- "Ausgabegeschwindigkeit auch nur halb so hoch wie bei Verwendung "
- "der beschleunigten Ausgabe.\n"
- " Sie sollten die schnellere Version allerdings nur anfordern, "
- "wenn Sie einen 'langsamen' Amiga (mit 68000-CPU) mit altem "
- "Betriebssystem (maximal OS 1.3) besitzen und wenn Sie noch keinen "
- "anderen Text-Beschleuniger verwenden. Andernfalls bringt der "
- "HotHelp-interne FastFont keinen Geschwindigkeits-Vorteil mehr."
- "\n\n"
- @askchoice-help))
- (choices "Normale Textausgabe" "Beschleunigte Textausgabe")
- (default (if os-13 1 0))
- )
- )
- )
-
- ; LhA wird in die RAM-Disk kopiert, damit das Programm nicht jedesmal von Disk
- ; geladen werden muß.
- (copyfiles
- (source source-lha)
- (dest "RAM:")
- (nogauge)
- )
-
- ; Nun werden die gewünschten Libraries der Reihe nach aus ihren Archiven
- ; entnommen.
- (if (<> libs-chosen 0)
- (
- (if (in libs-chosen 0)
- (run (cat run-lha " x " (if (= install-fastfont 1) archive-fasthothelplib archive-hothelplib) " LIBS: HotHelp.Library"))
- )
- (complete 5)
- (if (in libs-chosen 1)
- (run (cat run-lha " x " archive-hothelplib " LIBS: Lh.Library"))
- )
- (complete 10)
- (if (in libs-chosen 2)
- (run (cat run-lha " x " archive-hothelplib " LIBS: RCT.Library"))
- )
- (complete 15)
- )
- )
- (complete 15)
-
- ; Nun kommen die Handler an die Reihe:
-
- (run
- (prompt (cat "\nKopieren der HotHelp-Handler\n\n"
- "Bei den Handlern handelt es sich um Programm-Teile, "
- "die von der Library bzw. HotKeyHelp nachgeladen werden, "
- "um eigene Prozesse daraus zu erzeugen.\n"
- "Der HotHelpHandler wird benötigt, um asynchrone "
- "HotHelp-Fenster zu erzeugen, der HotKeyHelpHandler "
- "wird von HotKeyHelp als eigener Prozeß installiert, "
- "der für die Überwachung des Input-Streams, das "
- "ARexx-Interface und die Onlineprojekte zuständig ist."))
- (help (cat " Bei Zustimmung werden die beiden Handler in das "
- "L:-Verzeichnis entpackt, wo sie von HotHelp erwartet werden."))
- (cat run-lha " x " archive-hothelphandler " L:")
- (confirm)
- )
- (complete 20)
-
- ; And now for something completely different: It's Monty Pythons Flying HotKeyHelp!
-
- (set hotkeyhelp-dir
- (askdir
- (prompt "Auswahl des HotKeyHelp-Verzeichnisses")
- (help (cat " Das Programm HotKeyHelp ist ebenfalls sehr wichtig für "
- "das HotHelp-System. Es installiert einen Input-Handler, der "
- "alle Tastatur-Eingaben überwacht. Wird einer der vorgegebenen "
- "Hotkeys entdeckt, öffnet der Handler über die HotHelp-Library "
- "ein HotHelp-Fenster mit einem Hilfstext - je nachdem, welcher "
- "Hotkey eingegeben wurde.\n"
- " Ohne dieses Programm können demnach keine HotHelp-Fenster "
- "über die Hotkeys geöffnet werden. Auch die neuen Online-Projekte "
- "und das ARexx-Interface sind nur verwendbar, wenn HotKeyHelp "
- "installiert wurde.\n"
- " Sie müssen nun hier festlegen, in welches Verzeichnis "
- "das Programm kopiert werden soll."
- "\n\n"
- @askdir-help))
- (default "C:")
- (newpath)
- )
- )
- (if (= (exists hotkeyhelp-dir) 0)
- (makedir hotkeyhelp-dir (infos) (safe))
- (set hotkeyhelp-dir (expandpath hotkeyhelp-dir))
- )
- (copyfiles
- (source source-hotkeyhelp)
- (dest hotkeyhelp-dir)
- )
- (copyfiles
- (source source-toolicon-hkh)
- (dest hotkeyhelp-dir)
- (newname "HotKeyHelp.info")
- )
- (complete 25)
-
- ; Nun wird das Verzeichnis ausgewählt, in dem alle HotHelp-Dateien untergebracht
- ; werden sollen. Diesem Verzeichnis wird später das HOTHELP:-Device zugeordnet.
-
- (message (cat "\nBitte bestimmen Sie jetzt das Verzeichnis, in dem die für HotHelp "
- "wichtigen Daten abgelegt werden sollen. Dabei handelt es sich z.B. "
- "um eine Datei mit den aktuellen Einstellungen des Systems, diverse "
- "Icon-Dateien und (last but not least) die Projekt-Dateien mit "
- "den Hilfstexten selber.\n"))
-
- ; Falls HOTHELP: schon assigned ist (HotHelp also schon mal installiert wurde),
- ; weisen wir hier den entsprechenden Pfad an 'hothelp-dir' zu - andernfalls wird
- ; als Default "WORK:HotHelp" angenommen.
-
- (set hothelp-dir (getassign "HOTHELP"))
- (if (= hothelp-dir "")
- (set hothelp-dir (cat partition "HotHelp"))
- )
-
- (set hothelp-dir
- (askdir
- (prompt "Auswahl des HotHelp-Verzeichnisses")
- (help (cat " Sie müssen nun festlegen, in welchem Verzeichnis die "
- "Daten von HotHelp abgelegt werden sollen. Falls Sie HotHelp "
- "schon vorher einmal installiert haben, wird hier das damals "
- "ausgewählte Verzeichnis vorgegeben - andernfalls lautet die "
- "Vorgabe \"" partition "HotHelp\".\n"
- " Festplatten-Besitzer können das so voreingestellte "
- "Verzeichnis 'HotHelp' auf der " partition "-Partition "
- "verwenden.\n"
- " Bei Installation auf Disketten sollten Sie eine eigene "
- "Disk für die Dateien verwenden, auf der Sie dann ein "
- "entsprechendes Unterverzeichnis anlegen. Liegt die "
- "Ziel-Diskette z.B. in Laufwerk 1, sollten Sie "
- "\"DF1:HotHelp\" in das Feld 'Ausgewählte Schublade' "
- "eingeben, um ein Verzeichnis dieses Namens auf der Disk "
- "anlegen zu lassen. Verwenden Sie eine der vorbereiteten "
- "Leerdisketten."
- "\n\n"
- @askdir-help))
- (default hothelp-dir)
- (newpath)
- )
- )
- (if (= (exists hothelp-dir) 0)
- (makedir hothelp-dir (infos) (safe))
- (set hothelp-dir (expandpath hothelp-dir))
- )
-
- (if (>= (strlen hothelp-dir) max-project-dir)
- (abort (cat "\nDer eingegebene Name \n\"" hothelp-dir "\"\nist zu lang!\n\n"
- "Bitte geben Sie maximal " (- max-project-dir 1) " Zeichen ein!"))
- )
-
- ; Jetzt folgen die Sprach-Dateien.
-
- (if (or (<> (getassign "LOCALE") "") os-21)
- (run
- (prompt (cat "\nKopieren der Sprachen-Kataloge\n\n"
- "Die Kataloge enthalten die deutschen Texte, die innerhalb der "
- "HotHelp-Library und der HotHelp-Tools verwendet werden.\n"
- "(Es handelt sich dabei nicht um Hilfstexte, sondern um ganz "
- "normale Texte wie z.B. Beschriftungen von Symbolen, Meldungen an "
- "den Benutzer etc.)"))
- (help (cat " HotHelp unterstützt in der neuen Version " hh-version " die "
- "Locale-Library. Das bedeutet, daß die Sprache der Benutzerführung "
- "eines Programms über den System-Editor 'Locale' "
- "bestimmt werden kann.\n"
- " Diese beiden Kataloge werden benötigt, wenn Sie HotHelp "
- "mit einer deutschsprachigen Oberfläche verwenden wollen. Die "
- "beiden Dateien werden im Verzeichnis LOCALE:Catalogs/Deutsch "
- "abgelegt."))
- (cat run-lha " x " archive-catalogs " LOCALE:Catalogs/Deutsch/ #?.catalog")
- (confirm)
- )
- )
- (complete 30)
-
- ; Dieses Monster hängt an den Verzeichnisnamen einen '/' an, falls er nicht
- ; leer ist und nicht bereits mit ':' oder '/' endet (ansonsten bekommt LHA
- ; Probleme).
- (set dst-dir hothelp-dir)
- (if (and (> (strlen dst-dir) 0) (and (<> (substr dst-dir (- (strlen dst-dir) 1) 1) ":") (<> (substr dst-dir (- (strlen dst-dir) 1) 1) "/"))) (set dst-dir (cat dst-dir "/")))
- (run
- (prompt (cat "\nKopieren von HotHelps Sprachen-Dateien\n\n"
- "Diese Dateien enthalten zum einen die englischen Vorgabe-Texte "
- "der Library und der Tools sowie deren deutsche Übersetzungen. "
- "Falls Sie immer mit mindestens OS 2.1 arbeiten und eben die "
- "System-Kataloge installiert haben, können Sie später die beiden "
- "Dateien 'HOTHELP:HotHelpLib.Deutsch' und 'HOTHELP:HotHelpTools.Deutsch' "
- "wieder löschen."))
- (help (cat " Diese Dateien enthalten sämtliche Programm-Texte von HotHelp. "
- "Je nach der eingestellten Sprache werden die deutschen oder die "
- "englischen Texte verwendet, so daß die gesamte Benutzerführung "
- "in der gewählten System-Sprache erfolgt (vor OS 2.1 kann die "
- "aktuelle Sprache im Programm 'HotHelpPref' eingestellt werden).\n"
- " Die Dateien werden im vorhin gewählten Verzeichnis für die "
- "HotHelp-Daten \"" hothelp-dir "\" abgelegt."))
- (cat run-lha " x " archive-catalogs " \"" dst-dir "\" #?.Deutsch #?.English")
- (confirm)
- )
- (complete 35)
-
- ; Nun werden die diversen Icons in das HotHelp-Verzeichnis kopiert.
-
- (working "\nDie Standard-Icons werden kopiert...")
- (copyfiles
- (source source-icons)
- (dest (tackon hothelp-dir "Icons"))
- (all)
- )
- (complete 40)
-
- ; Und jetzt kommen die Projekt-Dateien!
-
- (message (cat "\nNun müssen noch die im Lieferumfang enthaltenen Dateien mit "
- "Hilfstexten (die sogenannten Projekte) installiert werden. "
- "Im folgenden Fenster können Sie dazu festlegen, welche der "
- "Projekte Sie benötigen und welche nicht.\n"
- "Eine Erläuterung zu den einzelnen Projekten erhalten Sie über das "
- "'Hilfe...'-Symbol im nächsten Fenster.\n\n"
- (if (<> old-hh-version -1)
- (cat "Da alle Projekte komplett überarbeitet wurden, sollten "
- "Sie sich auch als Besitzer einer älteren Version "
- "die schon bekannten Projekte installieren lassen (wie "
- "z.B. das HotHelp- oder das Glossar-Projekt)!"
- )
- )))
-
- (set projects-chosen
- (askoptions
- (prompt "Auswahl der Projekte")
- (help (cat " In diesem Fenster können Sie auswählen, welche der "
- "Projekte (Dateien mit Hilfstexten) Sie installieren möchten. "
- "Im folgenden erhalten Sie eine kurze Übersicht über die "
- "Bedeutung der einzelnen Projekte:\n\n"
- " HotHelp - Dieses Projekt enthält eine Reihe wichtiger "
- "Informationen über HotHelp selber und sollte auf jeden Fall "
- "installiert werden.\n\n"
- " Glossar - Enthält eine ausführliche Erklärung vieler "
- "Amiga-typischer Fachausdrücke und ist somit für jeden "
- "Gelegenheitsanwender ein ideales Nachschlagewerk.\n\n"
- " Shell - Übersicht über alle Shell-Befehle, die von "
- "ihnen verwendeten Fehlercodes und verwandte Informationen.\n\n"
- " ARexx - Dieses Projekt enthält eine Kurzreferenz für die "
- "Programmierung in der Interpretersprache ARexx, die ab Version "
- "2.0 Bestandteil des Betriebssystems ist und die vor allem dazu "
- "verwendet wird, Anwendungsprogramme von außen zu kontrollieren.\n\n"
- " ANSI-C - Eine Beschreibung der Standardbibliothek für "
- "C-Compiler, die für jeden C-Programmierer interessant ist.\n\n"
- " IFF - Dieses Projekt beschreibt das "
- "Standard-Datenaustauschformat IFF des Amiga. Es ist für jeden "
- "Programmierer interessant, der IFF-Dateien lesen oder "
- "schreiben möchte.\n\n"
- " Libs & Devs 3.0, Libs 3.0, Devs 3.0 - Eine umfassende "
- "Dokumentation des Amiga-Betriebssystems bis einschließlich "
- "OS 3.0 mit einer Beschreibung aller System-Funktionen, "
- "-Strukturen und -Symbole. Diese Projekte sind unverzichtbar "
- "für jeden engagierten Amiga-Programmierer. Nicht-Programmierer "
- "können jedoch getrost darauf verzichten...\n"
- "\"Libs & Devs 3.0\" enthält einige grundlegende Informationen, "
- "während das Projekt \"Libs 3.0\" sämtliche System-Libraries und "
- "das Projekt \"Devs 3.0\" alle System-Devices dokumentiert."
- "\n\n"
- @askoptions-help))
- (choices "HotHelp"
- "Glossar"
- "Shell"
- "ARexx"
- "ANSI-C"
- "IFF"
- "Libs & Devs 3.0"
- "Libs 3.0"
- "Devs 3.0")
- (default -1)
- )
- )
- (if (<> projects-chosen 0)
- (
- (working "\nDie Header-Dateien werden installiert...")
-
- (set header "")
- (if (in projects-chosen 0) (set header (cat header " HotHelp.hdr")))
- (if (in projects-chosen 1) (set header (cat header " Glossar.hdr")))
- (if (in projects-chosen 2) (set header (cat header " Shell.hdr")))
- (if (in projects-chosen 3) (set header (cat header " ARexx.hdr")))
- (if (in projects-chosen 3) (set header (cat header " ANSI?C.hdr")))
- (if (in projects-chosen 5) (set header (cat header " IFF.hdr")))
- (if (in projects-chosen 6) (set header (cat header " Libs???Devs?3.0.hdr")))
- (if (in projects-chosen 7) (set header (cat header " Libs?3.0.hdr")))
- (if (in projects-chosen 8) (set header (cat header " Devs?3.0.hdr")))
-
- (set dst-dir (tackon hothelp-dir "Projekte"))
- (if (and (> (strlen dst-dir) 0) (and (<> (substr dst-dir (- (strlen dst-dir) 1) 1) ":") (<> (substr dst-dir (- (strlen dst-dir) 1) 1) "/"))) (set dst-dir (cat dst-dir "/")))
- (run (cat run-lha " x " archive-header " \"" dst-dir "\" " header))
- (complete 45)
-
- ; Damit wären die Header-Files schon mal da, wo sie hingehören - nämlich in
- ; HOTHELP:Projekte. Nun müssen wir uns noch um die Verteilung der Text-Dateien
- ; kümmern.
-
- (set pro-dir (tackon hothelp-dir "Projekte"))
-
- (if (in projects-chosen 0) ( (set §it-name "HotHelp")
- (set §it-size size-txt-hothelp)
- (set §it-source source-txt-hothelp)
- (set §it-dest pro-dir)
- (installtext)
- (set pro-dir-hothelp §it-dest)))
- (complete 50)
-
- (if (in projects-chosen 7)
- (
- (askdisk (dest "HotHelpInstall3_2")
- (prompt (cat "\n\nBitte legen Sie nun die Disk \"HotHelpInstall3_2\" "
- "in ein beliebiges Laufwerk ein!"))
- (help @askdisk-help)
- )
- (set §it-name "Libs 3.0")
- (set §it-size size-txt-libs)
- (set §it-source source-txt-libs)
- (set §it-dest pro-dir)
- (installtext)
- (set pro-dir-libs §it-dest)
- )
- )
- (complete 54)
-
- (askdisk (dest "HotHelpInstall3_3")
- (prompt (cat "\n\nBitte legen Sie nun die Disk \"HotHelpInstall3_3\" "
- "in ein beliebiges Laufwerk ein!"))
- (help @askdisk-help)
- )
-
- (if (in projects-chosen 1) ( (set §it-name "Glossar")
- (set §it-size size-txt-glossar)
- (set §it-source source-txt-glossar)
- (set §it-dest pro-dir)
- (installtext)
- (set pro-dir-glossar §it-dest)))
- (complete 58)
- (if (in projects-chosen 2) ( (set §it-name "Shell")
- (set §it-size size-txt-shell)
- (set §it-source source-txt-shell)
- (set §it-dest pro-dir)
- (installtext)
- (set pro-dir-shell §it-dest)))
- (complete 62)
- (if (in projects-chosen 3) ( (set §it-name "ARexx")
- (set §it-size size-txt-arexx)
- (set §it-source source-txt-arexx)
- (set §it-dest pro-dir)
- (installtext)
- (set pro-dir-arexx §it-dest)))
- (complete 64)
- (if (in projects-chosen 4) ( (set §it-name "ANSI-C")
- (set §it-size size-txt-ansic)
- (set §it-source source-txt-ansic)
- (set §it-dest pro-dir)
- (installtext)
- (set pro-dir-ansic §it-dest)))
- (complete 68)
- (if (in projects-chosen 5) ( (set §it-name "IFF")
- (set §it-size size-txt-iff)
- (set §it-source source-txt-iff)
- (set §it-dest pro-dir)
- (installtext)
- (set pro-dir-iff §it-dest)))
- (complete 72)
- (if (in projects-chosen 6) ( (set §it-name "Libs & Devs 3.0")
- (set §it-size size-txt-libsdevs)
- (set §it-source source-txt-libsdevs)
- (set §it-dest pro-dir)
- (installtext)
- (set pro-dir-libsdevs §it-dest)))
- (complete 76)
- (if (in projects-chosen 8) ( (set §it-name "Devs 3.0")
- (set §it-size size-txt-devs)
- (set §it-source source-txt-devs)
- (set §it-dest pro-dir)
- (installtext)
- (set pro-dir-devs §it-dest)))
- (complete 80)
-
- (if (in projects-chosen 0) ((working "\nBearbeite HotHelp.hdr") (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "HotHelp.hdr") "\" \"" (tackon pro-dir-hothelp "HotHelp.txt") "\""))))
- (if (in projects-chosen 1) ((working "\nBearbeite Glossar.hdr") (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "Glossar.hdr") "\" \"" (tackon pro-dir-glossar "Glossar.txt") "\""))))
- (if (in projects-chosen 2) ((working "\nBearbeite Shell.hdr") (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "Shell.hdr") "\" \"" (tackon pro-dir-shell "Shell.txt") "\""))))
- (if (in projects-chosen 3) ((working "\nBearbeite ARexx.hdr") (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "ARexx.hdr") "\" \"" (tackon pro-dir-arexx "ARexx.txt") "\""))))
- (if (in projects-chosen 4) ((working "\nBearbeite ANSI-C.hdr") (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "ANSI-C.hdr") "\" \"" (tackon pro-dir-ansic "ANSI-C.txt") "\""))))
- (if (in projects-chosen 5) ((working "\nBearbeite IFF.hdr") (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "IFF.hdr") "\" \"" (tackon pro-dir-iff "IFF.txt") "\""))))
- (if (in projects-chosen 6) ((working "\nBearbeite Libs & Devs 3.0.hdr") (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "Libs & Devs 3.0.hdr") "\" \"" (tackon pro-dir-libsdevs "Libs & Devs 3.0.txt") "\""))))
- (if (in projects-chosen 7) ((working "\nBearbeite Libs 3.0.hdr") (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "Libs 3.0.hdr") "\" \"" (tackon pro-dir-libs "Libs 3.0.txt") "\""))))
- (if (in projects-chosen 8) ((working "\nBearbeite Devs 3.0.hdr") (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "Devs 3.0.hdr") "\" \"" (tackon pro-dir-devs "Devs 3.0.txt") "\""))))
- )
- )
- (complete 85)
-
- (askdisk (dest "HotHelpInstall3_3")
- (prompt (cat "\n\nBitte legen Sie nun die Disk \"HotHelpInstall3_3\" "
- "in ein beliebiges Laufwerk ein!"))
- (help @askdisk-help)
- )
-
- ; Nun wird die Pref-Datei zusammengebastelt!
-
- (set pref
- (cat "$VER: HotHelpPref " hh-version-intern " " hh-date "\n"
- "TextColor=1\n"
- "LightColor=" (if os-20 "2" "1") "\n"
- "DarkColor=" (if os-20 "1" "2") "\n"
- "RefColor=3\n"
- "FontName=" (if os-20 "courier" "topaz") ".font\n"
- "FontSize=" (if os-20 "15" "8") "\n"
- "ScrollDelay=15\n"
- "ScrollSpeed=0\n"
- "LeftEdge=0\n"
- "TopEdge=" (if os-20 "12" "11") "\n"
- "Width=1000\n"
- "Height=150\n"
- "StackSize=20\n"
- "KeyTab=30\n"
- "KeyLayout=Columns\n"
- "PrintTitle=CompleteOnly\n"
- "ShowStart=Off\n"
- "CloseCut=SpecialOnly\n"
- "SearchArea=ActualFirst\n"
- "HKAltQual=48\n"
- "HKCtrlQual=8\n"
- "HKShiftQual=3\n"
- "HKAltCode=95\n"
- "HKCtrlCode=95\n"
- "HKShiftCode=95\n"
- "HKAltAll=Off\n"
- "HKCtrlAll=Off\n"
- "HKShiftAll=Off\n"
- "StartProject=HotHelp\n"
- "StartKey=Startseite\n"
- "ViewColor=3\n"
- "SearchIgnore=On\n"
- "SearchBack=Off\n"
- "SearchAll=Off\n"
- "ShiftProject=Libs 3.0\n"
- "CtrlProject=Shell\n"
- "CommandProject=Libs 3.0\n"
- "FastFont=" (if install-fastfont "On" "Off") "\n"
- "DefaultFont=Off\n"
- "SmartFont=" (if install-fastfont "Off" "On") "\n"
- "SmartColors=On\n"
- "RamIcon=On\n"
- "OPrEnvironment=Off\n"
- "OPrName=OnlineProjekt\n"
- "OPrDir=HOTHELP:OnlineProjekte\n"
- "OPrFEnter=Off\n"
- "OPrFSelect=On\n"
- "OPrFFirst=Off\n"
- "OPrFCheck=On\n"
- "OPrFDoubleCheck=On\n"
- "OPrFFloatText=Off\n"
- "OPrMarkExclude=float|double|char|int|long|unsigned|void|extern|static|const|register|struct|union|enum|#define|class|inline|*|VOID|BYTE|UBYTE|WORD|UWORD|SHORT|USHORT|LONG|ULONG|APTR|BPTR|CPTR|STRPTR|BSTR|BOOL|FLOAT|DOUBLE\n"
- "OPrMarkPara=\n"
- "OPrMarkCmtStart=/*\n"
- "OPrMarkCmtEnd=*/\n"
- "OPrMarkCmtLine=//\n"
- "OpenOnStart=Off\n"
- "Editor=Select\n"
- "EnvEditor=HHEditor\n"
- "ARexxHost=HOTHELP_REXX\n"
- "HKAmigaQual=192\n"
- "HKOnlineQual=72\n"
- "HKAmigaCode=95\n"
- "HKOnlineCode=33\n"
- "HKAmigaAll=Off\n"
- "HKOnlineAll=On\n"
- "ToolsDir=SYS:\n"
- "DOSPattern=" (if os-20 "On" "Off") "\n"
- "DisplayBeep=" (if os-21 "Flash" "DisplayBeep") "\n"
- "OnlyPubScreen=Off\n"
- "StdNumPad=Standard\n"
- "CEDRealSize=Off\n"
- "StartupMsg=On\n"
- "CaseSensitivity=Off\n"
- "LoadKeys=AsNeeded_Free\n"
- "Language=Deutsch\n"
- )
- )
- (working "\nDie Voreinstellungs-Datei wird erzeugt...")
- (textfile
- (dest (tackon hothelp-dir "HotHelp3.Pref"))
- (append pref)
- (confirm)
- (prompt (cat "\nErzeugen der HotHelp-Voreinstellungs-Datei <"
- (tackon hothelp-dir "HotHelp3.Pref")
- ">"))
- (help (cat " In dieser Datei werden alle Voreinstellungen des gesamten "
- "HotHelp-Systems festgehalten, die dann später über das Tool "
- "HotHelpPref editiert werden können.\n"
- " Die Datei wurde an Ihre spezielle Konfiguration angepaßt "
- "und sollte daher grundsätzlich installiert werden."))
- )
- (complete 90)
-
- ; Nun wird die Startup-Sequence (bzw. User-StartUp) an HotHelp angepaßt.
-
- (set cmd (cat "Assign HOTHELP: \"" hothelp-dir "\"\n"))
-
- (if (patmatch (fileonly hotkeyhelp-dir) "WBStartUp")
- (
- (if (askbool
- (prompt (cat "\nHotKeyHelp wurde im Verzeichnis '" hotkeyhelp-dir "' "
- "installiert.\n\n"
- "Soll das Programm dennoch in die "
- "Skript-Datei 'S:User-StartUp' eingetragen werden, so "
- "daß es automatisch bei jedem Start aufgerufen wird?"))
- (help (cat " Alle Programme im Verzeichnis 'SYS:WBStartUp' werden "
- "ab Betriebssystem-Version 2.0 automatisch gestartet, "
- "sobald die Workbench geladen wird. In diesem Fall sollte "
- "HotKeyHelp nicht von der Datei 'User-StartUp' aus "
- "aufgerufen werden, da diese ebenfalls bei jedem Neustart "
- "des Rechners ausgeführt wird.\n"
- " Handelt es sich bei dem gewählten Verzeichnis jedoch "
- "nicht um 'SYS:WBStartUp' oder wird auf Ihrem System die "
- "Workbench nicht automatisch gestartet, sollte der "
- "Aufruf HotKeyHelps in die Skriptdatei eingefügt werden, "
- "damit das Programm nach jedem Start zur Verfügung steht."))
- (default 0))
- (
- (set cmd (cat cmd "\"" (tackon hotkeyhelp-dir "HotKeyHelp") "\"\n"))
- )
- )
- )
- ;else
- (set cmd (cat cmd "\"" (tackon hotkeyhelp-dir "HotKeyHelp") "\"\n"))
- )
-
- (startup "HotHelp"
- (prompt (cat "\nDie folgenden Befehle werden nun in die Datei \"S:User-Startup\" "
- "eingetragen:\n\n"
- cmd))
- (help @startup-help)
- (command cmd)
- )
- (complete 95)
-
- (if (= old-hh-version 0)
- (run (cat run-clearstartup " " tools-language)
- (prompt (cat "\nClearStartup wird ausgeführt\n\n"
- "Dieses Programm überarbeitet die Startup-Sequence, wenn von "
- "HotHelp-Version 2 auf " hh-version " umgestiegen wird."))
- (help (cat " Da sich der Installations-Vorgang zwischen HotHelp-Version "
- "2 und " hh-version " erheblich unterscheidet (HotHelp 2 "
- "wurde mit einem selbstgebauten Programm installiert, während "
- "HotHelp " hh-version " den Commodore-Installer verwendet), hat "
- "sich auch der Aufbau der beim Starten des Systems automatisch "
- "ausgeführten Befehle geändert.\n"
- " Unter HotHelp 2 wurden diese Befehle in die "
- "Startup-Sequence eingebaut, während der Installer dafür den "
- "User-Startup verwendet. Aus diesem Grund müssen beim Umstieg "
- "von HotHelp 2 auf " hh-version " die alten Befehle aus der "
- "Startup-Sequence wieder entfernt werden."))
- (confirm)
- )
- )
- (complete 100)
-
- ; LhA in der RAM-Disk wird nun nicht mehr benötigt.
- (delete "RAM:LhA")
-
- (user 1)
- (message (cat "\nDie Installation von HotHelp " hh-version " ist abgeschlossen.\n"
- "Bitte starten Sie jetzt Ihren Rechner neu!\n\n"
- "Anschließend können Sie HotHelp dann jederzeit über Alt-Help "
- "aktivieren.\n"
- "Shift-Help zeigt Hilfe zum Wort unter dem Cursor in Ihrem "
- "Editor an, während Amiga-Help den Inhalt des Clipboards als "
- "Schlüsselbegriff verwendet. Control-Help stellt einen Hilfstext "
- "zum jeweils zuletzt eingegebenen Wort dar."))
-
-